package com.udg.goodmorning.tweet;




import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.conf.Configuration;
import twitter4j.conf.ConfigurationBuilder;
import twitter4j.http.AccessToken;
import twitter4j.http.OAuthAuthorization;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class TweetForm extends Activity implements OnClickListener {
	// ツイート画面
	private CommonsHttpOAuthConsumer consumer;
	private Button tweetButton;
	private EditText tweetText;
	private String tweetContent;
	// 使用されていないため削除 by Shimobou
	//private String defTweetText;
	private String hashTag = "#goodmorningtweet_UDG";
	private String testHashTag = "#testhash";

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.tweetform);

		tweetText = (EditText) findViewById(R.id.tweet_text);
		String mention = getIntent().getStringExtra("text_title");

		if(Utility.DEBUG) hashTag = testHashTag;

		tweetText.setText(mention + " " + hashTag);

		tweetButton = (Button) findViewById(R.id.tweet_button);
		tweetButton.setOnClickListener(this);

	}

	@Override
	public void onClick(View v) {
		if (v.getId() == R.id.tweet_button) {
			tweetContent = tweetText.getText().toString();
			updateStatus(tweetContent);
			finish();
		}
	}

	private void updateStatus(String status) {
		Configuration config = new ConfigurationBuilder().build();
		SharedPreferences pref = getSharedPreferences("token", MODE_PRIVATE);

		String oauthToken = pref.getString("token", "");
		String oauthTokenSecret = pref.getString("tokenSecret", "");

		// CONSUMER KEYとCONSUMER SECRET、
		// access_tokenとaccess_token_secretを使って、
		// twitterインスタンスを取得する。
		Twitter twitter = new TwitterFactory(config)
				.getInstance(new OAuthAuthorization(config,
						Utility.consumerKey, Utility.consumerSecret,
						new AccessToken(oauthToken, oauthTokenSecret)));

		try {
			twitter.updateStatus(status);
		} catch (TwitterException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
